#include<stdio.h>

void daoxu(int *arr,int N)
{
    int left = 0;
    int right = N-1;
    while(left<right)
    {
        int tmp = arr[left];
        arr[left] = arr[right];
        arr[right] = tmp;
        left++;
        right--;
    }
    for(int i=0;i<N;i++)
    {
        printf("%d",arr[i]);
        if(i!=N-1)
        {
            printf(" ");
        }
    }
}


void weiyi(int *arr,int *b,int N,int M)
{
    for(int i=M;i<N;i++)
    {
        arr[i] = b[i-M];
    }
    for(int i=0;i<M;i++)
    {
        arr[i] = b[N-M+i];
    }
    for(int i=0;i<N;i++)
    {
        printf("%d",arr[i]);
        if(i!=N-1)
        {
            printf(" ");
        }
    }
}



int main()
{
    int arr[100];
    int b[100];
    int N,M;
    scanf("%d%d",&N,&M);
    for(int i=0;i<N;i++)
    {
        scanf("%d",&arr[i]);
        b[i] = arr[i];
    }
    if(M==0)
    {
        daoxu(arr,N);
    }
    else
    {
        weiyi(arr,b,N,M);
    }
    return 0;
}